Enterprise Resource Planning (“ERP”) refers to the field of integrating most of the data and processes of an organization into a unified system. A typical ERP system uses multiple components of computer software and hardware to achieve the integration. Most ERP systems use a unified database to store data for the various system components. Prior to using an ERP system, most organizations have separate applications for accounting, human resources, and other business functions, with external interfaces between each application for sharing data between applications. The introduction of an ERP system to replace two or more independent applications eliminates the need for external interfaces previously required between these applications and provides additional benefits that range from standardization and lower maintenance (one system instead of two or more) to easier reporting and greater reporting capabilities (as all data is typically kept in one database). ERP systems typically attempt to cover all basic functions of an organization, regardless of the organization's business or charter. For example, ERP systems may cover manufacturing, warehousing, logistics, information technology, accounting, human resources, marketing, payroll, and strategic management. Businesses, nonprofit organizations, nongovernmental organizations, governments, and other organizations utilize ERP systems.
Business systems, such as ERP systems and customer relationship management (“CRM”) systems, typically provide a development environment in which custom programs can be developed that interface with the business system of an organization to provide specialized functionality or business logic needed by the organization. These custom programs can be developed by the provider of the business system, the organizations that use the business system, or third-party developers who provide business solutions for organizations. To facilitate the development of such custom programs, the business systems typically provide a development environment that may include a specialized programming language and tools for developing forms for defining the user interface for the custom programs.
Typical forms development tools allow forms to be developed that define both the logical and the physical layout. For example, a developer may specify that a user interface is to have six forms that are selected using tabs without specifying how the tabs are to be presented. A forms development tool then determines how the tabs are to be physically laid out. Thus, the developer specifies the logical layout (e.g., six forms with tabs), and the forms development tool specifies the physical layout of the tabs. The forms development tools may also allow the developer to specify the physical layout of a form. For example, a developer may specify that a certain text box of a form is to be located at a certain location (e.g., x and y coordinates) within the form.
The development of forms that define both logical and physical layout presents problems when the forms are to be displayed on display devices with different sizes and aspect ratios than the originally targeted display device. For example, an organization that has developed custom forms originally targeted for desktop computers may want to allow its employees to access the custom form via devices that support only small displays (e.g., personal digital assistants and cellular phones). Because the custom forms may define physical layout characteristics, the forms may not display properly on such small displays.